Skip to content

実戦トラブルシューティング:React2Shell (CVE-2025-55182) 侵害事故のフォレンジック分析と対応記録

1行要約

ファイアウォールおよびEDR/アンチウイルスが存在しないLinuxサーバーにReact2Shell (CVE-2025-55182) 攻撃が着弾し、ps/topプロセスキル、chattr削除、/etc/crontab永続化およびブート依存関係改ざんを引き起こしたルートキット侵害事故の分析と対応記録。

1. 侵害兆候:管理者ツールの無力化 (Anti-Analysis)

  • ps, top, netstat等の点検コマンド実行時、即座にKilledシグナルで強制終了。
  • /var/log/messages, dmesg等のシステムログが意図的に破棄(Zero-out)。
  • psバイナリを別名コピーして実行しても同様にKilledされることから、カーネルモジュールまたはLD_PRELOADレベルでプロセスをフックするルートキットを検知。
[React2Shell 攻撃者の永続化メカニズム]
RCE 脆弱性 (CVE-2025-55182)

       ▼ (Root 権限奪取)
┌──────────────────────────────────────────────┐
│ 1. プロセス監視の無力化 (ps, top killed)         │
│ 2. 管理ツールの破壊 (chattr削除 -> 不変属性固定)   │
│ 3. 永続化登録 (/etc/crontab, /etc/rc.local)   │
│    └─ /etc/rondo/rondo react.x86_64.persisted│
│ 4. ブート依存関係の掌握 (改ざんファイル削除時OS起動不能)│
└──────────────────────────────────────────────┘

2. フォレンジック分析:悪意あるコードの永続化パス

  • /etc/crontab: @reboot root /etc/rondo/rondo react.x86_64.persisted が挿入。
  • /etc/rc.local: 再起動完了直後にrondoバイナリを起動するよう設定。
  • 防御機能の破壊: 不変属性(+i)の解除を妨害するため、chattrバイナリが削除。
bash
# chattr 実行時に削除を確認
# chattr -i /etc/rondo/rondo
-bash: chattr: command not found

3. 対応および最終判定

  1. ツールの復旧: e2fsprogsパッケージを強制再インストールしてchattrを一時復旧し、-i属性を解除。
  2. ブート破壊の罠: 悪意あるファイルを無力化して再起動したところ、OS初期化スクリプトがrondoのシグナルを待機するように改ざんされておりカーネルパニックが発生。
  3. 最終判定: カーネルおよび共有ライブラリレベルまで改ざんされた深刻な侵害状態と判断し、部分治療を中断して**完全隔離の上、バックアップデータのみを退避させてOSクリーン再構築(Re-build)**を実施。

4. コアチェックポイント (Gotchas)

  1. ルートキット感染サーバーの治療の罠: Root権限とカーネルレベルが侵害されたLinuxサーバーは、単にファイルを削除するだけでは安全を保証できずバックドアが残存するため、OS再インストールが唯一の正解である。
  2. インバウンド最小化: 管理ポートSSH(22)は特定IPのみホワイトリスト化し、Web層にはWAFを配置する。

投稿日: 2026-05-17 04:05:04更新日: 2026-08-15 13:57:00

Built with VitePress. | 📡 RSS Feed